Overview

Data Intake Client Utility tool is required by the customer to send JMS messages in the format expected by the OIPA server for Data Intake processing. OIPA server expects the following four JMS Messages for record processing.

Input data is expected to be in XML format based on the schema defined in Intake profile Definition for a Customer which is configurable using Rules Palette in OIPA.

These messages are expected to be sent in a sequential order for every file. Each message has considerable impact on changing file status during loading and processing. Each of this message is explained below.

JMS Messages

Begin Loading

This message submits file data to the server for each file in a data intake scenario which carries file related fields like expected count of records etc. Message content is File Field XML in XML structure as mentioned below (content in bold). This is Optional and can be empty.

<dataIntakeScenario>
<!-- Global elements like Group Customer Number, Profile Name will be here-->
<testFile>
<!--File Fields -->
<fields>
<field NAME="FieldName1" TYPE="TEXT">FieldValue1</field>
<field NAME="FieldName2" TYPE="TEXT">FieldValue2</field>
</fields>
<testRecord>
<!-- Record Data -->
</testRecord>
</testFile>
</dataIntakeScenario>

The below properties should be attached to process this message on server side.

PropertyName Property Type PropertyValue Description
operation String "beginLoading"(hard coded string) Name of the operation
field String Field (Generated Value) Generated GUID value for each file
groupCustomerNumber String GroupCustomerNumber (captured from Intake File) Customer Number
profileName String ProfileName (Captured from Intake File) Intake Profile Name
expectedRecordCount Integer expectedRecordCount (Calculated number of records for a file) Count of Records for each file. This can be calculated using XPATH on the input file
independent String Y or N ( default value will be N) Identifies whether the records are 'Independent' or 'Dependent' The attribute is optional.

Add Record

This message submits record data to the server for every record in order of its presence within DI file. It sets the process order[1] for every record based on its precedence within a record group (Uniquely identified by RecordGroupId[2] ) of a DI File.

Message content is the record XML data as shown below:

<dataIntakeScenario>
<pathToMemberId></pathToMemberId>
<pathToRecordGroupId></pathToRecordGroupId>
<groupCustomerNumber></groupCustomerNumber>
<profileName></profileName>
<testFile>
<!--File Fields -->
<testRecord>
<oipa:GroupMemberIntakeRecord FILEID="string" xmlns:oipa="http://xmlns.oracle.com/insurance/oipa/v1">
<!-- Record Data -->
<Fields>
<Field1></Field1>
<Field2></Field2>
</Fields>
</oipa:GroupMemberIntakeRecord>
</testRecord>
</testFile>
</dataIntakeScenario>

The below properties should be attached to process this message on server side:

PropertyName Property Type PropertyValue Description
operation String "addRecord"(hard coded string) Name of the operation
field String field (Generated Value) Generated GUID value for each file
groupCustomerNumber String GroupCustomerNumber (captured from Intake File) Customer Number
memberId String memberId (Captured from Intake Record) Unique representation of a Record
recordGroupId String recordGroupId (Captured from Intake Record) Unique representation of a record group.
processOrder Integer Process Order (Assigned for each record) Records under each record Group will be assigned an incremental process order

Complete Loading

This message updates the file status to Complete Loading on Server side. The message should be of type Text Message. Below properties should be attached to process this message on server side.

PropertyName Property Type PropertyValue Description
operation String "completeLoading"(hard coded string) Name of the operation
field String field (Generated Value) Generated GUID value for each file
groupCustomerNumber String GroupCustomerNumber (captured from Intake File) Customer Number

Process

This message updates the file status to "Pending" on the Server side. The message should be of type Text Message. Below properties should be attached to process this message on server side.

PropertyName Property Type PropertyValue Description
operation String "process"(hard coded string) Name of the operation
field String field (Generated Value) Generated GUID value for each file
groupCustomerNumber String GroupCustomerNumber (captured from Intake File) Customer Number

Record Group ID and Process Order

  • Multiple Records in the file can belong to a record group which is uniquely identified by a RecordGroupID (Example Sponsor Id)
  • Process Order will be assigned to every record on basis of which the records will be processed on the server side.

Consider the below scenario:

Test file

In the above example, Records R1, R2 and R4 belong to a RecordGroup RG1. Records R3 and R5 belong to Record Group RG2. So, the Processing order for the first Record Group will be,

Record Record Group Processing Order
R1 RG1 0
R2 RG1 1
R3 RG1 2
R4 RG2 0
R5 RG2 1

Observe that processing order starts from 0 whenever a new record group is found while reading the input file.